Class DHT
DHT Class
Description
Defines a class of using DHT temperature & humidity sensors
Members
Public Constructors |
|
DHT::DHT |
Constructs a DHT object |
Public Methods |
|
DHT::begin |
Initialize the DHT sensor |
DHT::readTemperature |
Read temperature(Fahrenheit or Celcius)
from the DHT sensor |
DHT::convertCtoF |
Convert a value from Celcius to
Fahrenheit |
DHT::convertFtoC |
Convert a value from Fahrenheit to
Celcius |
DHT::readHumidity |
Read humidity(%) from the DHT sensor |
DHT::computeHeatIndex |
Compute the HeatIndex from the readings
(Using both Rothfusz and Steadman’s
equations) |
DHT::read |
Check if the sensor is readable |
DHT::DHT
Description
Constructs a DHT object.
Syntax
DHT::DHT(uint8_t pin, uint8_t type, uint8_t count)
Parameters
pin: The Arduino digital PIN connected
type: The DHT sensor type(DHT11, DHT22, or DHT21)
count: The count is now ignored as the DHT reading algorithm adjusts
itself based on the speed of the processor
Returns
The function returns nothing.
Example Code
Example:DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function.
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain
#include “DHT.h”
// The digital pin we’re connected to.
#define DHTPIN 8
// Uncomment whatever type you’re using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect
pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the
sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third
parameter to
// tweak the timings for faster processors. This parameter is no longer
needed
// as the current DHT reading algorithm adjusts itself to work on faster
procs.
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println(“DHTxx test!”);
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds ‘old’ (its a very slow
sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(“Failed to read from DHT sensor!”);
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(“Humidity: “);
Serial.print(h);
Serial.print(” %t”);
Serial.print(“Temperature: “);
Serial.print(t);
Serial.print(” *C “);
Serial.print(f);
Serial.print(” *Ft”);
Serial.print(“Heat index: “);
Serial.print(hic);
Serial.print(” *C “);
Serial.print(hif);
Serial.println(” *F”);
}
DHT::begin
Description
Initialize the DHT sensor.
Syntax
void DHT::begin(void);
Parameters
The function requires no input parameter.
Returns
The function returns nothing.
Example Code
Example: DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors. Please refer to code in the “DHT: DHT” section.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function.
DHT::readTemperature
Description
Read temperature(Fahrenheit or Celcius) from the DHT sensor.
Syntax
float DHT::readTemperature(bool S, bool force);
Parameters
S: Temperature scale, True is Fahrenheit and False is Celcius
force: Index of checking sensor readability, default is False
Returns
The function returns the current temperature as a float value.
Example Code
Example: DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors. Please refer to code in the “DHT: DHT” section.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function.
DHT::convertCtoF
Description
Convert a value from Celcius to Fahrenheit.
Syntax
float DHT::convertCtoF(float c);
Parameters
c: The value in Celcius
Returns
The function returns the temperature in Fahrenheit as a float number.
Example Code
Example: DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors. Please refer to code in the “DHT: DHT” section.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function.
DHT::convertFtoC
Description
Convert a value from Fahrenheit to Celcius.
Syntax
float DHT::convertFtoC(float f);
Parameters
f: The value in Fahrenheit
Returns
The function returns the temperature in Celcius as a float number.
Example Code
Example: DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors. Please refer to code in the “DHT: DHT” section.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function.
DHT::computeHeatIndex
Syntax
float DHT::computeHeatIndex(float temperature, float percentHumidity,
bool isFahrenheit);
Parameters
temperature: The temperature value
percentHumidity: The humidity percent value
isFahrenheit: True, temperature value in Fahrenheit (Default); False,
temperature value in Celcius
Returns
The function returns the heat index in Fahrenheit or Celsius as a
float value.
Example Code
Example: DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors. Please refer to code in the “DHT: DHT” section.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function.
DHT::readHumidity
Description
Reading temperature or humidity from the DHT sensor and return as a
float value(%).
Syntax
float DHT::readHumidity(bool force);
Parameters
force: Ignored.
Returns
The function returns current humidity in a float number (in %).
Example Code
Example: DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors. Please refer to code in the “DHT: DHT” section.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function. Reading temperature or humidity
takes about 250 milliseconds! Sensor readings may also be up to 2
seconds.
DHT::read
Description
Check if the sensor is readable.
Syntax
boolean DHT::read(bool force);
Parameters
force: Index of whether checking the sensor was read less than two
seconds ago or not. False, checking; True, not checking.
Returns
Return the last correct measurement of the sensor. False, low means
not readable; True, high means readable.
Example Code
Example: DHTTester
The code demos basic testing for various DHT humidity & temperature
sensors. Please refer to code in the “DHT: DHT” section.
Notes and Warnings
Every time must include the header file “DHT.h” in front of the
project to use the class function.